在 Kubernetes 中,ConfigMap 和 Secret 是兩個重要的資源類型,用於管理應用程式的配置資訊和敏感數據。本篇教程將逐步引導您如何創建、使用和管理 ConfigMap 和 Secret,並提供相關的 YAML 配置範例。
創建 configmap.yaml 檔案,內容如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap
data:
app.config: |
DATABASE_URL=example.com
API_KEY=my-api-key
執行以下命令以創建 ConfigMap:
$ kubectl apply -f configmap.yaml
創建一個 Pod 的 pod.yaml 檔案,並在其中使用 ConfigMap:
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: my-app-container
image: my-app-image
envFrom:
- configMapRef:
name: my-configmap
執行以下命令以創建 Pod:
$ kubectl apply -f pod.yaml
創建 secret.yaml 檔案,內容如下:
apiVersion: v1
kind: Secret
metadata:
name: my-secret
type: Opaque
data:
username: dXNlcm5hbWU=
password: cGFzc3dvcmQ=
注意:username 和 password 的值需要使用 Base64 編碼。
執行以下命令以創建 Secret:
$ kubectl apply -f secret.yaml
創建一個 Pod 的 pod.yaml 檔案,並在其中使用 Secret:
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: my-app-container
image: my-app-image
env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: my-secret
key: username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: my-secret
key: password
執行以下命令以創建 Pod:
$ kubectl apply -f pod.yaml
通過這個詳細教程,您已經學會了如何創建、使用和管理 Kubernetes 中的 ConfigMap 和 Secret。這兩個資源類型能夠幫助您管理應用程式的配置和敏感資料,確保您的應用程式在安全和可配置的環境中運行。